package com.fjl.filewriter;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class GetMapFile
{
	public static void main(String[] args)
	{
		File rootFile = new File("F:/HaimaData/MapGIS/Map");
		//判断地图路径是否存在
		if(rootFile.exists())
		{
			List<File> filelst = getAllFile(rootFile);
			getMapFiles(filelst);
			
		}
	}
	/**
	 * 获取当前文件夹下所有文件
	 * @param rootFile
	 * @return
	 */
	public static List<File> getAllFile(File rootFile)
	{
		//当前文件夹下所有文件
		List<File> mFiles = new ArrayList<File>();
		File[] mRootFiles  = rootFile.listFiles();
		//根目录
		for(int i = 0;i < mRootFiles.length;i++)
		{
			if(mRootFiles[i].isFile())
			{
				mFiles.add(mRootFiles[i]);
			}
			else
			{
				//二级目录
				File[] secondFiles = mRootFiles[i].listFiles();
				for(int j = 0; j < secondFiles.length;j++)
				{
					if(secondFiles[j].isFile())
					{
						mFiles.add(secondFiles[j]);
					}
					else
					{
						//三级目录
						File[] thirdFiles = secondFiles[j].listFiles();
						for(int x = 0;x < thirdFiles.length;x++)
						{
							if(thirdFiles[x].isFile())
							{
								mFiles.add(thirdFiles[x]);
							}
						}
					}
				}
			}
		}
		for(int i = 0; i< mFiles.size();i++)
		{
		}
		return mFiles;
	}
	/**
	 * 获取所有的地图文档
	 * @param filelst
	 * @return
	 */
	public static List<File> getMapFiles(List<File> filelst)
	{
		List<File> mapfile = new ArrayList<File>();
		for(int i = 0; i < filelst.size(); i++)
		{
			String fileName = filelst.get(i).getName();
			String prefix = fileName.substring(fileName.lastIndexOf(".")+1);
			System.out.println("fileName:"+fileName);
			System.out.println("fileName.lastIndexOf:"+fileName.lastIndexOf(".")+1);
			if(prefix.equalsIgnoreCase("mapx") || prefix.equalsIgnoreCase("xml"))
			{
				mapfile.add(filelst.get(i));
			}
		}
		return mapfile;
		
	}
}
